using System.Collections.Generic;

namespace OracleInternal.SqlAndPlsqlParser
{
	internal static class OracleScParserErrorStrings
	{
		private const string c_vExceptionTypeStr = "Type";

		private const string c_vNullTokenOrPattern = "Tokens or pattern cannot be null.";

		private const string c_vRuleTupleNullSymbols = "Rule tuple has null symbols.";

		private const string c_vFollowUpTokens = "Possible follow up tokens are: \n";

		private const string c_vNoParseFollowUp = "There is no possible parse follow up at the token \"{0}\" : \n {1}";

		private const string c_vDifferentGrammarsTuples = "The compared rule tuples belong to different grammars";

		private const string c_vMismatchedTuplesComparison = "The compared rule tuples are either null or different types";

		private static Dictionary<ParserExceptionError, string> s_vErrorStringDictionary;

		static OracleScParserErrorStrings()
		{
			s_vErrorStringDictionary = new Dictionary<ParserExceptionError, string>();
			s_vErrorStringDictionary.Add(ParserExceptionError.Type, "Type");
			s_vErrorStringDictionary.Add(ParserExceptionError.NullTokenOrPattern, "Tokens or pattern cannot be null.");
			s_vErrorStringDictionary.Add(ParserExceptionError.RuleTupleNullSymbols, "Rule tuple has null symbols.");
			s_vErrorStringDictionary.Add(ParserExceptionError.FollowUpTokens, "Possible follow up tokens are: \n");
			s_vErrorStringDictionary.Add(ParserExceptionError.NoParseFollowUp, "There is no possible parse follow up at the token \"{0}\" : \n {1}");
			s_vErrorStringDictionary.Add(ParserExceptionError.DifferentGrammarsTuples, "The compared rule tuples belong to different grammars");
			s_vErrorStringDictionary.Add(ParserExceptionError.MismatchedTuplesComparison, "The compared rule tuples are either null or different types");
		}

		public static string GetErrorString(ParserExceptionError item)
		{
			return s_vErrorStringDictionary[item];
		}
	}
}
